草庐IT

c++ - Matlab 和 C 风格的 dll

全部标签

windows - 崩溃后获取 DLL 地址的函数

我知道当应用程序崩溃时,系统会报告它在mydll.dll中的0x00004b79位置崩溃。我有源代码和二进制文件,但我没有PDB或该DLL构建中的任何列表文件。崩溃是可重复的,但我无法在生产机器上安装调试器,并且在开发或调试环境中不会发生崩溃。我已经设置了Dr.Watson,并且有故障转储和Dr.Watson日志文件。Dr.Watson日志文件包含正在执行的函数的反汇编:10604b708b442408moveax,[esp+0x8]10604b748b542404movedx,[esp+0x4]10604b7850pusheaxFAULT->10604b798b4120moveax,

windows - 调用 kernel32.dll 函数时获取调用堆栈

我有一个更改其当前目录的进程,我想知道它发生的时间和地点。我怎么能那样做?我尝试使用VisualStudio在SetCurrentDirectoryA/SetCurrentDirectoryW中设置断点,但它不起作用。 最佳答案 您是在调试自己的程序,还是没有源代码的程序?VisualStudio调试器对于调试无源应用程序不是很友好;在那种情况下,我会推荐WinDbg或OllyDbg-甚至跳过调试器并使用EasyHook编写一个检测记录器.编辑:尝试在{,,kernel32.dll}_SetCurrentDirectoryA@4处设

c - 防止过多的 LoadLibrary/FreeLibrary

我正在编写一个代理库(称为库A),它只是与系统上可能存在或不存在的另一个DLL(称为库B)的接口(interface)。这个想法是程序将链接到这个库A而不是原始库B;如果系统上没有安装库B,库A将处理错误。所以一个典型的代理函数看起来像这样:intfunction(intarg1,intarg2){HINSTANCEhinstLib;UINTerrormode=SetErrorMode(SEM_FAILCRITICALERRORS);SetErrorMode(errormode|SEM_FAILCRITICALERRORS);hinstLib=LoadLibrary(TEXT(ORIG

windows - 为什么在 Windows 7 64 位(使用 Eclipse/Photran/Cygwin)上使用 GDB 调试我的 Fortran 代码时会出现缺少 DLL 错误?

我的设置如下:操作系统:Windows7家庭高级版64位Eclipse:带有CDT的Helios3.6.164位和PhotranJavaSE运行时环境:1.6.0_21Java热点:64位服务器虚拟机(构建17.0-b17,混合模式)Cygwin1.7.2(32位)我的初始测试Fortran应用程序只打印“HelloWorld!”并退出。代码构建并运行良好,尽管在Eclipse的“问题”选项卡中有以下2个警告DescriptionResourcePathLocationTypeErrorlaunchingexternalscannerinfogenerator(gcc-E-P-v-dD

c# - Windows 路径变量 - 两个文件夹匹配 DLL - 首先选择哪个

出于某种原因,我有一个PATH变量,它有多个条目,我的exe可以在其中找到。我正在努力寻找Windows在解析DLLS时使用的顺序。它是否扫描Path变量并使用第一个(列表中的)匹配项?在我的测试中,它看起来像是使用了最后一个。有谁知道这是什么行为,是否在任何地方都有记录? 最佳答案 我相信读到的最后一个获胜。 关于c#-Windows路径变量-两个文件夹匹配DLL-首先选择哪个,我们在StackOverflow上找到一个类似的问题: https://stac

c++ - DeleteIPAddress 和 AddIpAddress 问题

我试着用这个函数编写添加ip地址的程序DWORDAddIPAddress(__inIPAddrAddress,__inIPMaskIpMask,__inDWORDIfIndex,__outPULONGNTEContext,__outPULONGNTEInstance);我添加了,但是怎么删除呢。DeleteIPAddress将NTEContext作为参数我如何在MSDN中获取它,他们写道它由AddIPAddress函数返回但是当我第二次使用相同的ip地址调用它时它返回错误2.怎么办?我可以在cmd中使用Ipconfig命令查看添加的ip地址,可能还有其他方法可以手动查看或删除它

c++ - 取消WIN32线程池中计划的work/io/timer项

我一直在研究Windows的(新的?)线程池API。我一直在关注UsingtheThreadPoolFunctions中的示例我一直在仔细研究MSDN上的API。关于清理组,我有些不明白。调用SetThreadpoolCallbackCleanupGroup()时,第三个参数描述为Thecleanupcallbacktobecalledifthecleanupgroupiscanceledbeforetheassociatedobjectisreleased.ThefunctioniscalledwhenyoucallCloseThreadpoolCleanupGroupMembers

windows - 批量设置 .exe 和 .dll 文件的版本号

是否有一个工具可以让我做这样的事情:thetool.exe'1.0.0.1'mydll.dllmyexe.exe?基本上我想自动化构建过程,然后让工具自动为我设置版本号。 最佳答案 您可以使用这个问题的答案:HowdoIsettheversioninformationforanexisting.exe,.dll?verpatch/vafoodll.dll%VERSION%"%FILEDESCR%""%COMPINFO%""%PRODINFO%""%BUILDINFO%"可在http://www.codeproject.com/KB/

c - 如何检查用户是否登录到工作站,或者工作站是否被锁定?

是否有功能或简单的方法来检查用户是否登录到工作站或工作站是否被锁定?如果可能的话,如果工作站被锁定,如何检查谁登录了?谢谢! 最佳答案 如果您作为服务运行,您将注册一个HandlerEx回调函数,并跟踪SERVICE_CONTROL_SESSIONCHANGE事件。如果您正在发送Windows消息,那么您需要跟踪WM_SESSION_CHANGE和WTS_SESSION_LOGON消息。要获得后者,您必须调用WTSRegisterSessionNotification要查询远程机器,您可能会使用WTSEnumerateSession

c++ - 如何在 ListView 控件中制作复选框三态?

是否有可能使具有LVS_EX_CHECKBOXES样式三态(具有BS_3STATE按钮样式)的ListView控件中的复选框?我正在使用WTL,但我可以手动发送消息。 最佳答案 是的,您需要一个ImageList,其中包含未选中、已选中和不确定复选框的3个图像。调用ListView_SetImageList()分配LVSIL_STATE图像列表。操纵LVITEM.state以显示您想要的复选框类型。 关于c++-如何在ListView控件中制作复选框三态?,我们在StackOverflo